package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 参数配置业务对象 sys_codeitem
 *
 * @author cj
 * @date 2023-09-21
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class SysCodeitemBo extends BaseEntity {

    /**
     *
     */
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long pkid;

    /**
     * 代码类
     */
    @NotBlank(message = "代码类不能为空", groups = { AddGroup.class, EditGroup.class })
    private String codeid;

    /**
     * 代码
     */
    @NotBlank(message = "代码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String code;

    /**
     * 父节点
     */
    @NotBlank(message = "父节点不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pptr;

    /**
     * 代码描述
     */
    @NotBlank(message = "代码描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String description;

    /**
     * 别名1
     */
    @NotBlank(message = "别名1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String description1;

    /**
     * 别名2
     */
    @NotBlank(message = "别名2不能为空", groups = { AddGroup.class, EditGroup.class })
    private String description2;

    /**
     * 描述缩写
     */
    @NotBlank(message = "描述缩写不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shortname;

    /**
     * 是否叶子节点
     */
    @NotNull(message = "是否叶子节点不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer hasleaf;

    /**
     * 简拼
     */
    @NotBlank(message = "简拼不能为空", groups = { AddGroup.class, EditGroup.class })
    private String spell;

    /**
     * 状态
     */
    @NotBlank(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

    /**
     * 是否隐藏
     */
    @NotNull(message = "是否隐藏不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer hashide;

    /**
     * 显示序号
     */
    @NotBlank(message = "显示序号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String orderid;

    /**
     * 排序号,特别是家庭成员称谓排序
     */
    @NotNull(message = "排序号,特别是家庭成员称谓排序不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sortid;

    /**
     * 临时ID
     */
    @NotBlank(message = "临时ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tmpid;

    /**
     * 临时pID
     */
    @NotBlank(message = "临时pID不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tmppid;

    /**
     * 对应其他系统编码
     */
    @NotBlank(message = "对应其他系统编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zzbcode;

    /**
     * 全拼音
     */
    @NotBlank(message = "全拼音不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pinyin;

    /**
     * 图标
     */
    @NotBlank(message = "图标不能为空", groups = { AddGroup.class, EditGroup.class })
    private String icon;


}
